﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CBMS.Models;
using System.Data.Objects.DataClasses;
using System.Data.Objects;
using CBMS.Objects;

namespace CBMS.Interfaces
{
    public interface IStaffRepository : IBaseEntityRepository<Staff>
    {
        IList<StaffDTO> SearchStaffsBySomeCondition(string condition, int pageIndex, int pageSize, string sortField, string sortExpression, ref int toTal);
        bool DeleteStaff(int staffId);
        bool DeleteAbilityOfStaff(int staffId);
        bool ChangeActive(int staffId);
        Staff GetByID(int staffId);
        Staff GetByUserName(string userName);
        int Insert(Staff objStaff, List<AbilityOfStaff> lstAbility);
        int Update(Staff objStaff, List<AbilityOfStaff> lstAbility);
         IList<AbilityOfStaff> GetAbilityOfStaff(int staffId);
         Boolean Login(int? branchId,string userName,string password);
         
    }
}